package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.xnew.bean.common.FileInfo;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @Author: Zhozh
* @Description: 会员档案管理-定期报告信息
* @DateTime: 2022/5/24
* @Params:
* @Return
*/
@TableName("t10_period_rpt_info")
public class PeriodRptInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 定期报告编号
    */
    @TableId("period_rpt_no")
    private String periodRptNo;

    /**
    * 信息报送审核状态编码
    */
    private String infsubAuditStatusCode;

    /**
    * 机构id
    */
    private String orgId;

    /**
    * 是否财务报告   -- 删掉了
    */
    private String isFinRpt;

    /**
    * 是否披露
    */
    private String isMapub;

    /**
    * 报告标题
    */
    private String rptTitle;

    /**
    * 报告日期
    */
    private String rptDate;

    /**
    * 报告说明
    */
    private String rptSpec;

    /**
     * 报告联系人
     */
    private String rptLinkMan;

    /**
     * 报告联系人电话
     */
    private String rptLinkManTel;

    /**
    * 创建人编号
    */
    private String createPsnNo;

    /**
    * 创建时间
    */
    private String createTime;

    /**
    * 是否关闭状态
    */
    private String isCloseStatus;

    /**
     * 审核日志
     */
    @TableField(exist = false)
    private List<AuditLog> auditLogList;


    public List<AuditLog> getAuditLogList() {
        return auditLogList;
    }

    public void setAuditLogList(List<AuditLog> auditLogList) {
        this.auditLogList = auditLogList;
    }

    @TableField(exist = false)
    private List<MemInfoChgHist> histList;

    public List<MemInfoChgHist> getHistList() {
        return histList;
    }

    public void setHistList(List<MemInfoChgHist> histList) {
        this.histList = histList;
    }

    @TableField(exist = false)
    private List<FileInfo> fileList;

    public PeriodRptInfo() {
    }

    public String getPeriodRptNo() {
        return periodRptNo;
    }

    public void setPeriodRptNo(String periodRptNo) {
        this.periodRptNo = periodRptNo;
    }

    public String getInfsubAuditStatusCode() {
        return infsubAuditStatusCode;
    }

    public void setInfsubAuditStatusCode(String infsubAuditStatusCode) {
        this.infsubAuditStatusCode = infsubAuditStatusCode;
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    public String getIsFinRpt() {
        return isFinRpt;
    }

    public void setIsFinRpt(String isFinRpt) {
        this.isFinRpt = isFinRpt;
    }

    public String getIsMapub() {
        return isMapub;
    }

    public void setIsMapub(String isMapub) {
        this.isMapub = isMapub;
    }

    public String getRptTitle() {
        return rptTitle;
    }

    public void setRptTitle(String rptTitle) {
        this.rptTitle = rptTitle;
    }

    public String getRptDate() {
        return rptDate;
    }

    public void setRptDate(String rptDate) {
        this.rptDate = rptDate;
    }

    public String getRptSpec() {
        return rptSpec;
    }

    public void setRptSpec(String rptSpec) {
        this.rptSpec = rptSpec;
    }

    public String getCreatePsnNo() {
        return createPsnNo;
    }

    public void setCreatePsnNo(String createPsnNo) {
        this.createPsnNo = createPsnNo;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getIsCloseStatus() {
        return isCloseStatus;
    }

    public void setIsCloseStatus(String isCloseStatus) {
        this.isCloseStatus = isCloseStatus;
    }

    public List<FileInfo> getFileList() {
        return fileList;
    }

    public void setFileList(List<FileInfo> fileList) {
        this.fileList = fileList;
    }

    public String getRptLinkMan() {
        return rptLinkMan;
    }

    public void setRptLinkMan(String rptLinkMan) {
        this.rptLinkMan = rptLinkMan;
    }

    public String getRptLinkManTel() {
        return rptLinkManTel;
    }

    public void setRptLinkManTel(String rptLinkManTel) {
        this.rptLinkManTel = rptLinkManTel;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode","isCloseStatus","isMapub","isFinRpt","auditLogList"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149","DG0104","DG0104","DG0104","LIST"};
    }


}